package com.anli.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;

/**
 * @author: LI-CI-GAO
 * 作者: licigao
 * 日期: 2021/8/30  15:57
 * 描述:
 */
@Configuration
public class TestRedisQueueConfig {

    @Autowired
    private TestRedisListener testRedisListener;

    @Bean
    public RedisMessageListenerContainer getRedisMessageListenerContainer(RedisConnectionFactory redisConnectionFactory){

        RedisMessageListenerContainer redisMessageListenerContainer=new RedisMessageListenerContainer();
        redisMessageListenerContainer.setConnectionFactory(redisConnectionFactory);

        redisMessageListenerContainer.addMessageListener(testRedisListener,new PatternTopic("LOCK"));

        return redisMessageListenerContainer;
    }


    @Bean("expireMessageListener")
    public RedisMessageListenerContainer getRedisMessageListenerContainerForExpire(RedisConnectionFactory redisConnectionFactory){

        RedisMessageListenerContainer redisMessageListenerContainer=new RedisMessageListenerContainer();
        redisMessageListenerContainer.setConnectionFactory(redisConnectionFactory);

        return redisMessageListenerContainer;
    }

}
